package com.item.dao.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andAccountIsNull() {
            addCriterion("account is null");
            return (Criteria) this;
        }

        public Criteria andAccountIsNotNull() {
            addCriterion("account is not null");
            return (Criteria) this;
        }

        public Criteria andAccountEqualTo(String value) {
            addCriterion("account =", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotEqualTo(String value) {
            addCriterion("account <>", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountGreaterThan(String value) {
            addCriterion("account >", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountGreaterThanOrEqualTo(String value) {
            addCriterion("account >=", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLessThan(String value) {
            addCriterion("account <", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLessThanOrEqualTo(String value) {
            addCriterion("account <=", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountLike(String value) {
            addCriterion("account like", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotLike(String value) {
            addCriterion("account not like", value, "account");
            return (Criteria) this;
        }

        public Criteria andAccountIn(List<String> values) {
            addCriterion("account in", values, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotIn(List<String> values) {
            addCriterion("account not in", values, "account");
            return (Criteria) this;
        }

        public Criteria andAccountBetween(String value1, String value2) {
            addCriterion("account between", value1, value2, "account");
            return (Criteria) this;
        }

        public Criteria andAccountNotBetween(String value1, String value2) {
            addCriterion("account not between", value1, value2, "account");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNull() {
            addCriterion("password is null");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion("password is not null");
            return (Criteria) this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion("password =", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion("password <>", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion("password >", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("password >=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion("password <", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion("password <=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLike(String value) {
            addCriterion("password like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotLike(String value) {
            addCriterion("password not like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordIn(List<String> values) {
            addCriterion("password in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotIn(List<String> values) {
            addCriterion("password not in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion("password between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion("password not between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andQqAccountIsNull() {
            addCriterion("qq_account is null");
            return (Criteria) this;
        }

        public Criteria andQqAccountIsNotNull() {
            addCriterion("qq_account is not null");
            return (Criteria) this;
        }

        public Criteria andQqAccountEqualTo(String value) {
            addCriterion("qq_account =", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountNotEqualTo(String value) {
            addCriterion("qq_account <>", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountGreaterThan(String value) {
            addCriterion("qq_account >", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountGreaterThanOrEqualTo(String value) {
            addCriterion("qq_account >=", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountLessThan(String value) {
            addCriterion("qq_account <", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountLessThanOrEqualTo(String value) {
            addCriterion("qq_account <=", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountLike(String value) {
            addCriterion("qq_account like", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountNotLike(String value) {
            addCriterion("qq_account not like", value, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountIn(List<String> values) {
            addCriterion("qq_account in", values, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountNotIn(List<String> values) {
            addCriterion("qq_account not in", values, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountBetween(String value1, String value2) {
            addCriterion("qq_account between", value1, value2, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andQqAccountNotBetween(String value1, String value2) {
            addCriterion("qq_account not between", value1, value2, "qqAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountIsNull() {
            addCriterion("wx_account is null");
            return (Criteria) this;
        }

        public Criteria andWxAccountIsNotNull() {
            addCriterion("wx_account is not null");
            return (Criteria) this;
        }

        public Criteria andWxAccountEqualTo(String value) {
            addCriterion("wx_account =", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountNotEqualTo(String value) {
            addCriterion("wx_account <>", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountGreaterThan(String value) {
            addCriterion("wx_account >", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountGreaterThanOrEqualTo(String value) {
            addCriterion("wx_account >=", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountLessThan(String value) {
            addCriterion("wx_account <", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountLessThanOrEqualTo(String value) {
            addCriterion("wx_account <=", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountLike(String value) {
            addCriterion("wx_account like", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountNotLike(String value) {
            addCriterion("wx_account not like", value, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountIn(List<String> values) {
            addCriterion("wx_account in", values, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountNotIn(List<String> values) {
            addCriterion("wx_account not in", values, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountBetween(String value1, String value2) {
            addCriterion("wx_account between", value1, value2, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWxAccountNotBetween(String value1, String value2) {
            addCriterion("wx_account not between", value1, value2, "wxAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountIsNull() {
            addCriterion("wb_account is null");
            return (Criteria) this;
        }

        public Criteria andWbAccountIsNotNull() {
            addCriterion("wb_account is not null");
            return (Criteria) this;
        }

        public Criteria andWbAccountEqualTo(String value) {
            addCriterion("wb_account =", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountNotEqualTo(String value) {
            addCriterion("wb_account <>", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountGreaterThan(String value) {
            addCriterion("wb_account >", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountGreaterThanOrEqualTo(String value) {
            addCriterion("wb_account >=", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountLessThan(String value) {
            addCriterion("wb_account <", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountLessThanOrEqualTo(String value) {
            addCriterion("wb_account <=", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountLike(String value) {
            addCriterion("wb_account like", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountNotLike(String value) {
            addCriterion("wb_account not like", value, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountIn(List<String> values) {
            addCriterion("wb_account in", values, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountNotIn(List<String> values) {
            addCriterion("wb_account not in", values, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountBetween(String value1, String value2) {
            addCriterion("wb_account between", value1, value2, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andWbAccountNotBetween(String value1, String value2) {
            addCriterion("wb_account not between", value1, value2, "wbAccount");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andNicknameIsNull() {
            addCriterion("nickname is null");
            return (Criteria) this;
        }

        public Criteria andNicknameIsNotNull() {
            addCriterion("nickname is not null");
            return (Criteria) this;
        }

        public Criteria andNicknameEqualTo(String value) {
            addCriterion("nickname =", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotEqualTo(String value) {
            addCriterion("nickname <>", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameGreaterThan(String value) {
            addCriterion("nickname >", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("nickname >=", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLessThan(String value) {
            addCriterion("nickname <", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLessThanOrEqualTo(String value) {
            addCriterion("nickname <=", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameLike(String value) {
            addCriterion("nickname like", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotLike(String value) {
            addCriterion("nickname not like", value, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameIn(List<String> values) {
            addCriterion("nickname in", values, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotIn(List<String> values) {
            addCriterion("nickname not in", values, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameBetween(String value1, String value2) {
            addCriterion("nickname between", value1, value2, "nickname");
            return (Criteria) this;
        }

        public Criteria andNicknameNotBetween(String value1, String value2) {
            addCriterion("nickname not between", value1, value2, "nickname");
            return (Criteria) this;
        }

        public Criteria andSexIsNull() {
            addCriterion("sex is null");
            return (Criteria) this;
        }

        public Criteria andSexIsNotNull() {
            addCriterion("sex is not null");
            return (Criteria) this;
        }

        public Criteria andSexEqualTo(Integer value) {
            addCriterion("sex =", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotEqualTo(Integer value) {
            addCriterion("sex <>", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThan(Integer value) {
            addCriterion("sex >", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexGreaterThanOrEqualTo(Integer value) {
            addCriterion("sex >=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThan(Integer value) {
            addCriterion("sex <", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexLessThanOrEqualTo(Integer value) {
            addCriterion("sex <=", value, "sex");
            return (Criteria) this;
        }

        public Criteria andSexIn(List<Integer> values) {
            addCriterion("sex in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotIn(List<Integer> values) {
            addCriterion("sex not in", values, "sex");
            return (Criteria) this;
        }

        public Criteria andSexBetween(Integer value1, Integer value2) {
            addCriterion("sex between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andSexNotBetween(Integer value1, Integer value2) {
            addCriterion("sex not between", value1, value2, "sex");
            return (Criteria) this;
        }

        public Criteria andHeadimgIsNull() {
            addCriterion("headimg is null");
            return (Criteria) this;
        }

        public Criteria andHeadimgIsNotNull() {
            addCriterion("headimg is not null");
            return (Criteria) this;
        }

        public Criteria andHeadimgEqualTo(String value) {
            addCriterion("headimg =", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgNotEqualTo(String value) {
            addCriterion("headimg <>", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgGreaterThan(String value) {
            addCriterion("headimg >", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgGreaterThanOrEqualTo(String value) {
            addCriterion("headimg >=", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgLessThan(String value) {
            addCriterion("headimg <", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgLessThanOrEqualTo(String value) {
            addCriterion("headimg <=", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgLike(String value) {
            addCriterion("headimg like", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgNotLike(String value) {
            addCriterion("headimg not like", value, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgIn(List<String> values) {
            addCriterion("headimg in", values, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgNotIn(List<String> values) {
            addCriterion("headimg not in", values, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgBetween(String value1, String value2) {
            addCriterion("headimg between", value1, value2, "headimg");
            return (Criteria) this;
        }

        public Criteria andHeadimgNotBetween(String value1, String value2) {
            addCriterion("headimg not between", value1, value2, "headimg");
            return (Criteria) this;
        }

        public Criteria andPhoneIsNull() {
            addCriterion("phone is null");
            return (Criteria) this;
        }

        public Criteria andPhoneIsNotNull() {
            addCriterion("phone is not null");
            return (Criteria) this;
        }

        public Criteria andPhoneEqualTo(String value) {
            addCriterion("phone =", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotEqualTo(String value) {
            addCriterion("phone <>", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneGreaterThan(String value) {
            addCriterion("phone >", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("phone >=", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLessThan(String value) {
            addCriterion("phone <", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLessThanOrEqualTo(String value) {
            addCriterion("phone <=", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLike(String value) {
            addCriterion("phone like", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotLike(String value) {
            addCriterion("phone not like", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneIn(List<String> values) {
            addCriterion("phone in", values, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotIn(List<String> values) {
            addCriterion("phone not in", values, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneBetween(String value1, String value2) {
            addCriterion("phone between", value1, value2, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotBetween(String value1, String value2) {
            addCriterion("phone not between", value1, value2, "phone");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNull() {
            addCriterion("start_date is null");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNotNull() {
            addCriterion("start_date is not null");
            return (Criteria) this;
        }

        public Criteria andStartDateEqualTo(Date value) {
            addCriterion("start_date =", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotEqualTo(Date value) {
            addCriterion("start_date <>", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThan(Date value) {
            addCriterion("start_date >", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThanOrEqualTo(Date value) {
            addCriterion("start_date >=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThan(Date value) {
            addCriterion("start_date <", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThanOrEqualTo(Date value) {
            addCriterion("start_date <=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateIn(List<Date> values) {
            addCriterion("start_date in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotIn(List<Date> values) {
            addCriterion("start_date not in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateBetween(Date value1, Date value2) {
            addCriterion("start_date between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotBetween(Date value1, Date value2) {
            addCriterion("start_date not between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNull() {
            addCriterion("end_date is null");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNotNull() {
            addCriterion("end_date is not null");
            return (Criteria) this;
        }

        public Criteria andEndDateEqualTo(Date value) {
            addCriterion("end_date =", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotEqualTo(Date value) {
            addCriterion("end_date <>", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThan(Date value) {
            addCriterion("end_date >", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThanOrEqualTo(Date value) {
            addCriterion("end_date >=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThan(Date value) {
            addCriterion("end_date <", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThanOrEqualTo(Date value) {
            addCriterion("end_date <=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIn(List<Date> values) {
            addCriterion("end_date in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotIn(List<Date> values) {
            addCriterion("end_date not in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateBetween(Date value1, Date value2) {
            addCriterion("end_date between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotBetween(Date value1, Date value2) {
            addCriterion("end_date not between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andDeviceidIsNull() {
            addCriterion("deviceid is null");
            return (Criteria) this;
        }

        public Criteria andDeviceidIsNotNull() {
            addCriterion("deviceid is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceidEqualTo(String value) {
            addCriterion("deviceid =", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotEqualTo(String value) {
            addCriterion("deviceid <>", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidGreaterThan(String value) {
            addCriterion("deviceid >", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidGreaterThanOrEqualTo(String value) {
            addCriterion("deviceid >=", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLessThan(String value) {
            addCriterion("deviceid <", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLessThanOrEqualTo(String value) {
            addCriterion("deviceid <=", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLike(String value) {
            addCriterion("deviceid like", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotLike(String value) {
            addCriterion("deviceid not like", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidIn(List<String> values) {
            addCriterion("deviceid in", values, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotIn(List<String> values) {
            addCriterion("deviceid not in", values, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidBetween(String value1, String value2) {
            addCriterion("deviceid between", value1, value2, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotBetween(String value1, String value2) {
            addCriterion("deviceid not between", value1, value2, "deviceid");
            return (Criteria) this;
        }

        public Criteria andPushidIsNull() {
            addCriterion("pushid is null");
            return (Criteria) this;
        }

        public Criteria andPushidIsNotNull() {
            addCriterion("pushid is not null");
            return (Criteria) this;
        }

        public Criteria andPushidEqualTo(String value) {
            addCriterion("pushid =", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidNotEqualTo(String value) {
            addCriterion("pushid <>", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidGreaterThan(String value) {
            addCriterion("pushid >", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidGreaterThanOrEqualTo(String value) {
            addCriterion("pushid >=", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidLessThan(String value) {
            addCriterion("pushid <", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidLessThanOrEqualTo(String value) {
            addCriterion("pushid <=", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidLike(String value) {
            addCriterion("pushid like", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidNotLike(String value) {
            addCriterion("pushid not like", value, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidIn(List<String> values) {
            addCriterion("pushid in", values, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidNotIn(List<String> values) {
            addCriterion("pushid not in", values, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidBetween(String value1, String value2) {
            addCriterion("pushid between", value1, value2, "pushid");
            return (Criteria) this;
        }

        public Criteria andPushidNotBetween(String value1, String value2) {
            addCriterion("pushid not between", value1, value2, "pushid");
            return (Criteria) this;
        }

        public Criteria andDeviceIsNull() {
            addCriterion("device is null");
            return (Criteria) this;
        }

        public Criteria andDeviceIsNotNull() {
            addCriterion("device is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceEqualTo(String value) {
            addCriterion("device =", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotEqualTo(String value) {
            addCriterion("device <>", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceGreaterThan(String value) {
            addCriterion("device >", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceGreaterThanOrEqualTo(String value) {
            addCriterion("device >=", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLessThan(String value) {
            addCriterion("device <", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLessThanOrEqualTo(String value) {
            addCriterion("device <=", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceLike(String value) {
            addCriterion("device like", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotLike(String value) {
            addCriterion("device not like", value, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceIn(List<String> values) {
            addCriterion("device in", values, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotIn(List<String> values) {
            addCriterion("device not in", values, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceBetween(String value1, String value2) {
            addCriterion("device between", value1, value2, "device");
            return (Criteria) this;
        }

        public Criteria andDeviceNotBetween(String value1, String value2) {
            addCriterion("device not between", value1, value2, "device");
            return (Criteria) this;
        }

        public Criteria andBadgeIsNull() {
            addCriterion("badge is null");
            return (Criteria) this;
        }

        public Criteria andBadgeIsNotNull() {
            addCriterion("badge is not null");
            return (Criteria) this;
        }

        public Criteria andBadgeEqualTo(Integer value) {
            addCriterion("badge =", value, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeNotEqualTo(Integer value) {
            addCriterion("badge <>", value, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeGreaterThan(Integer value) {
            addCriterion("badge >", value, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeGreaterThanOrEqualTo(Integer value) {
            addCriterion("badge >=", value, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeLessThan(Integer value) {
            addCriterion("badge <", value, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeLessThanOrEqualTo(Integer value) {
            addCriterion("badge <=", value, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeIn(List<Integer> values) {
            addCriterion("badge in", values, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeNotIn(List<Integer> values) {
            addCriterion("badge not in", values, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeBetween(Integer value1, Integer value2) {
            addCriterion("badge between", value1, value2, "badge");
            return (Criteria) this;
        }

        public Criteria andBadgeNotBetween(Integer value1, Integer value2) {
            addCriterion("badge not between", value1, value2, "badge");
            return (Criteria) this;
        }

        public Criteria andSubjectEngIsNull() {
            addCriterion("subject_eng is null");
            return (Criteria) this;
        }

        public Criteria andSubjectEngIsNotNull() {
            addCriterion("subject_eng is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectEngEqualTo(String value) {
            addCriterion("subject_eng =", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngNotEqualTo(String value) {
            addCriterion("subject_eng <>", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngGreaterThan(String value) {
            addCriterion("subject_eng >", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngGreaterThanOrEqualTo(String value) {
            addCriterion("subject_eng >=", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngLessThan(String value) {
            addCriterion("subject_eng <", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngLessThanOrEqualTo(String value) {
            addCriterion("subject_eng <=", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngLike(String value) {
            addCriterion("subject_eng like", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngNotLike(String value) {
            addCriterion("subject_eng not like", value, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngIn(List<String> values) {
            addCriterion("subject_eng in", values, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngNotIn(List<String> values) {
            addCriterion("subject_eng not in", values, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngBetween(String value1, String value2) {
            addCriterion("subject_eng between", value1, value2, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectEngNotBetween(String value1, String value2) {
            addCriterion("subject_eng not between", value1, value2, "subjectEng");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityIsNull() {
            addCriterion("subject_polity is null");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityIsNotNull() {
            addCriterion("subject_polity is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityEqualTo(String value) {
            addCriterion("subject_polity =", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityNotEqualTo(String value) {
            addCriterion("subject_polity <>", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityGreaterThan(String value) {
            addCriterion("subject_polity >", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityGreaterThanOrEqualTo(String value) {
            addCriterion("subject_polity >=", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityLessThan(String value) {
            addCriterion("subject_polity <", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityLessThanOrEqualTo(String value) {
            addCriterion("subject_polity <=", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityLike(String value) {
            addCriterion("subject_polity like", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityNotLike(String value) {
            addCriterion("subject_polity not like", value, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityIn(List<String> values) {
            addCriterion("subject_polity in", values, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityNotIn(List<String> values) {
            addCriterion("subject_polity not in", values, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityBetween(String value1, String value2) {
            addCriterion("subject_polity between", value1, value2, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectPolityNotBetween(String value1, String value2) {
            addCriterion("subject_polity not between", value1, value2, "subjectPolity");
            return (Criteria) this;
        }

        public Criteria andSubjectMathIsNull() {
            addCriterion("subject_math is null");
            return (Criteria) this;
        }

        public Criteria andSubjectMathIsNotNull() {
            addCriterion("subject_math is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectMathEqualTo(String value) {
            addCriterion("subject_math =", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathNotEqualTo(String value) {
            addCriterion("subject_math <>", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathGreaterThan(String value) {
            addCriterion("subject_math >", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathGreaterThanOrEqualTo(String value) {
            addCriterion("subject_math >=", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathLessThan(String value) {
            addCriterion("subject_math <", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathLessThanOrEqualTo(String value) {
            addCriterion("subject_math <=", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathLike(String value) {
            addCriterion("subject_math like", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathNotLike(String value) {
            addCriterion("subject_math not like", value, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathIn(List<String> values) {
            addCriterion("subject_math in", values, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathNotIn(List<String> values) {
            addCriterion("subject_math not in", values, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathBetween(String value1, String value2) {
            addCriterion("subject_math between", value1, value2, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMathNotBetween(String value1, String value2) {
            addCriterion("subject_math not between", value1, value2, "subjectMath");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1IsNull() {
            addCriterion("subject_major1 is null");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1IsNotNull() {
            addCriterion("subject_major1 is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1EqualTo(String value) {
            addCriterion("subject_major1 =", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1NotEqualTo(String value) {
            addCriterion("subject_major1 <>", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1GreaterThan(String value) {
            addCriterion("subject_major1 >", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1GreaterThanOrEqualTo(String value) {
            addCriterion("subject_major1 >=", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1LessThan(String value) {
            addCriterion("subject_major1 <", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1LessThanOrEqualTo(String value) {
            addCriterion("subject_major1 <=", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1Like(String value) {
            addCriterion("subject_major1 like", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1NotLike(String value) {
            addCriterion("subject_major1 not like", value, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1In(List<String> values) {
            addCriterion("subject_major1 in", values, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1NotIn(List<String> values) {
            addCriterion("subject_major1 not in", values, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1Between(String value1, String value2) {
            addCriterion("subject_major1 between", value1, value2, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor1NotBetween(String value1, String value2) {
            addCriterion("subject_major1 not between", value1, value2, "subjectMajor1");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2IsNull() {
            addCriterion("subject_major2 is null");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2IsNotNull() {
            addCriterion("subject_major2 is not null");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2EqualTo(String value) {
            addCriterion("subject_major2 =", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2NotEqualTo(String value) {
            addCriterion("subject_major2 <>", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2GreaterThan(String value) {
            addCriterion("subject_major2 >", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2GreaterThanOrEqualTo(String value) {
            addCriterion("subject_major2 >=", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2LessThan(String value) {
            addCriterion("subject_major2 <", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2LessThanOrEqualTo(String value) {
            addCriterion("subject_major2 <=", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2Like(String value) {
            addCriterion("subject_major2 like", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2NotLike(String value) {
            addCriterion("subject_major2 not like", value, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2In(List<String> values) {
            addCriterion("subject_major2 in", values, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2NotIn(List<String> values) {
            addCriterion("subject_major2 not in", values, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2Between(String value1, String value2) {
            addCriterion("subject_major2 between", value1, value2, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andSubjectMajor2NotBetween(String value1, String value2) {
            addCriterion("subject_major2 not between", value1, value2, "subjectMajor2");
            return (Criteria) this;
        }

        public Criteria andIsVIsNull() {
            addCriterion("is_v is null");
            return (Criteria) this;
        }

        public Criteria andIsVIsNotNull() {
            addCriterion("is_v is not null");
            return (Criteria) this;
        }

        public Criteria andIsVEqualTo(Integer value) {
            addCriterion("is_v =", value, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVNotEqualTo(Integer value) {
            addCriterion("is_v <>", value, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVGreaterThan(Integer value) {
            addCriterion("is_v >", value, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_v >=", value, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVLessThan(Integer value) {
            addCriterion("is_v <", value, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVLessThanOrEqualTo(Integer value) {
            addCriterion("is_v <=", value, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVIn(List<Integer> values) {
            addCriterion("is_v in", values, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVNotIn(List<Integer> values) {
            addCriterion("is_v not in", values, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVBetween(Integer value1, Integer value2) {
            addCriterion("is_v between", value1, value2, "isV");
            return (Criteria) this;
        }

        public Criteria andIsVNotBetween(Integer value1, Integer value2) {
            addCriterion("is_v not between", value1, value2, "isV");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNull() {
            addCriterion("modify_time is null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIsNotNull() {
            addCriterion("modify_time is not null");
            return (Criteria) this;
        }

        public Criteria andModifyTimeEqualTo(Date value) {
            addCriterion("modify_time =", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotEqualTo(Date value) {
            addCriterion("modify_time <>", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThan(Date value) {
            addCriterion("modify_time >", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("modify_time >=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThan(Date value) {
            addCriterion("modify_time <", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("modify_time <=", value, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeIn(List<Date> values) {
            addCriterion("modify_time in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotIn(List<Date> values) {
            addCriterion("modify_time not in", values, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeBetween(Date value1, Date value2) {
            addCriterion("modify_time between", value1, value2, "modifyTime");
            return (Criteria) this;
        }

        public Criteria andModifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("modify_time not between", value1, value2, "modifyTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}